/* * $VER: LM_TAB2xxx.REXX 1.07 (10.08.97) © 1997 Christian T. Steigies * Convert LigaManager output to HTML,LaTeX * * * * Usage: RX LM_TAB2HTML * * Usage: RX LM_TAB2LaTeX * * */ /*+ "Hauptprogramm" */ /*+ "version, messages" */ ver = "1.07" date = "10.08.97" date2k = "10.08.1997" copy = "© 1997 Christian T. Steigies" DEBUG = 0 OUTPUT = 0 /* 1=HTML, 2=LaTeX */ ECHO "LigaManager output converter "ver" ("date")" copy ECHO "Freeware, NO commercial usage ;-)" ECHO ECHO "This program comes without ANY WARRANTY, use at your own risk!" ECHO /*- */ /*+ "output definition" */ PARSE source cmdline IF LEFT(UPPER(WORD(cmdline,3)),11)="LM_TAB2HTML" THEN DO prg = "LM_TAB2HTML" outfile = "ram:TAB.html" a = "" x = "" xr = "" y = "" z = "" T = ":" blank = " " OUTPUT=1 ECHO "Converting to HTML" END ELSE IF LEFT(UPPER(WORD(cmdline,3)),12)="LM_TAB2LATEX" THEN DO prg = "LM_TAB2LaTeX" outfile = "ram:TAB.tex" a = "" x = "" xr = "" y = " & " z = " \\" T = ":" blank = "" OUTPUT=2 ECHO "Converting to LaTeX" END ELSE DO ECHO "Don't rename this program! Valid Names are:" ECHO " LM2HTML.REXX for HTML output" ECHO " LM2LaTeX.REXX for LaTeX output" EXIT END /*- */ /*+ "error checking" */ IF ARG() ~= 1 THEN CALL usage(prg) IF EXISTS( ARG(1) ) ~= 1 THEN DO ECHO "infile not found!" ECHO CALL usage(prg) END OPEN(in,ARG(1),r) OPEN(out,outfile,w) titel = READLN(in) nonascii = X2C('1B')||X2C('5B') IF INDEX(titel,nonascii,3) > 0 THEN DO ECHO "this is not an ASCII input file!" ECHO "I don't know how to handle this (yet...)" ECHO "Did you disable ""Steuerzeichen"" in options?" ECHO CALL usage(prg) END /*- */ /*+ "parsing" */ /* ECHO titel */ name = INDEX(titel," Sp ") spiele_a = INDEX(titel," Sp ") gew_a = INDEX(titel," g ") une_a = INDEX(titel," u ") ver_a = INDEX(titel," v ") Tore1 = INDEX(titel," v ")+4 Tore_a = INDEX(titel," Tore ") Quot_a = INDEX(titel," Quot ") Diff_a = INDEX(titel,"Diff ") Pt_a = INDEX(titel," Pt") Pkte_a = INDEX(titel," Pkte") /*+ "Debug" */ IF DEBUG=1 THEN DO ECHO "Spiele: "spiele_a ECHO "Gewonnen: "gew_a ECHO "Unentschieden: "une_a ECHO "Verloren: "ver_a ECHO "Tore: "Tore_a ECHO "Quot: "Quot_a ECHO "Diff: "Diff_a ECHO "Pt: "Pt_a ECHO "Pkte: "Pkte_a ECHO SUBSTR(titel,spiele_a,4) ECHO SUBSTR(titel,gew_a,3) ECHO SUBSTR(titel,une_a,3) ECHO SUBSTR(titel,ver_a,3) ECHO SUBSTR(titel,Tore_a,7) IF Quot_a >0 THEN DO ECHO SUBSTR(titel,Quot_a,5) END IF Diff_a > 0 THEN DO ECHO SUBSTR(titel,Diff_a,4) END ECHO SUBSTR(titel,Pt_a,7) END /*- */ IF (spiele_a==0 | gew_a==0 | une_a==0 | ver_a==0 | Tore_a==0 | (Quot_a==0 & Diff_a==0) | (Pt_a==0 & Pkte_a==0) ) THEN DO ECHO "infile corrupt!" CALL usage(prg) END /*- */ /*+ "Output Header" */ SELECT WHEN OUTPUT=1 THEN DO /*+ "HTML" */ WRITELN(out, "") WRITELN(out, "") WRITELN(out, "Tabelle created with LM2HTML "ver" by CTS") WRITELN(out, "") WRITELN(out, "
") WRITELN(out, "") WRITELN(out, "") WRITELN(out, "") WRITELN(out, "") WRITELN(out, "") WRITELN(out, "") IF Quot_a>0 THEN DO WRITELN(out, "") END ELSE DO WRITELN(out, "") END IF Pt_a>0 THEN DO WRITELN(out, "") END ELSE DO WRITELN(out, "") END WRITELN(out, "") /*- */ END WHEN OUTPUT=2 THEN DO /*+ "LaTeX" */ WRITELN(out, "% created with: LigaManager2LaTeX "ver" by CTS") WRITELN(out, "\documentclass{article}") WRITELN(out, "\usepackage{german}") WRITELN(out, "\usepackage[latin1]{inputenc}") WRITELN(out, "\begin{document}") IF Pt_a>0 THEN DO WRITELN(out, "\begin{tabular}{rl|r|rrr|rcr|r|r}") END ELSE DO WRITELN(out, "\begin{tabular}{rl|r|rrr|rcr|r|rcr}") END WRITELN(out, "\multicolumn{2}{c|}{"STRIP(LEFT(titel,name-1))"} & Sp & g & u & v &") WRITELN(out, "\multicolumn{3}{c|}{Tore} &") IF Quot_a>0 THEN DO WRITELN(out, "Quot &") END ELSE DO WRITELN(out, "\multicolumn{1}{c|}{Diff} &") END IF Pt_a>0 THEN DO WRITELN(out, "\multicolumn{1}{c}{Pt} \\ ") END ELSE DO WRITELN(out, "\multicolumn{3}{c}{Punkte} \\ ") END WRITELN(out, "\hline") /*- */ END OTHERWISE EXIT 10 /* should be unreachable, but who knows... */ END /*- */ /*+ "main loop" */ DO WHILE ~ (EOF(in) & zeile=="") zeile = READLN(in) IF zeile == "" THEN BREAK nplatz = INDEX(zeile,".") IF nplatz > 0 THEN DO platz = LEFT(zeile,nplatz-1) END IF INDEX(zeile,":") = 0 THEN DO NOP END ELSE DO n2platz =index(zeile,")") IF n2platz > 0 THEN DO team = STRIP(RIGHT(LEFT(zeile,name-1),name-n2platz-2)) END ELSE DO team = STRIP(RIGHT(LEFT(zeile,name-1),name-nplatz-2)) END Spiele = STRIP(SUBSTR(zeile,spiele_a,4)) gew = STRIP(SUBSTR(zeile,gew_a,3)) une = STRIP(SUBSTR(zeile,une_a,3)) ver = STRIP(SUBSTR(zeile,ver_a,3)) TorePunkte = SUBSTR(zeile,tore1) IF WORDS(TorePunkte) = 3 THEN DO Tore = WORD(TorePunkte,1) ToreP = STRIP(LEFT(tore,POS(":",Tore)-1)) IF ToreP == "" THEN ToreP =blank ToreM = STRIP(SUBSTR(tore,POS(":",Tore)+1)) IF ToreM == "" THEN ToreM =blank QuotDiff = STRIP(WORD(TorePunkte,2)) Punkte = STRIP(WORD(TorePunkte,3)) END ELSE DO Tore = WORD(TorePunkte,1) ToreP = STRIP(LEFT(tore,POS(":",Tore)-1)) IF ToreP == "" THEN ToreP =blank ToreM = STRIP(SUBSTR(tore,POS(":",Tore)+1)) IF ToreM == "" THEN ToreM =blank QuotDiff = STRIP(SUBWORD(TorePunkte,2,2)) Punkte = STRIP(WORD(TorePunkte,4)) END IF Pt_a >0 THEN DO Pt = STRIP(Punkte) END ELSE DO PunkteP = LEFT(Punkte,POS(":",Punkte)-1) PunkteM = SUBSTR(Punkte,POS(":",Punkte)+1) END /*+ "Debug" */ IF DEBUG = 1 THEN DO ECHO "Platz: "platz ECHO "Team: "team ECHO "Spiele: "SUBSTR(zeile,spiele_a,4) ECHO "g: "SUBSTR(zeile,gew_a,3) ECHO "u: "SUBSTR(zeile,une_a,3) ECHO "v: "SUBSTR(zeile,ver_a,3) ECHO "Tore: "SUBSTR(zeile,Tore_a,7) IF Quot_a >0 THEN DO ECHO "Quot: "SUBSTR(zeile,Quot_a,5) END IF Diff_a > 0 THEN DO ECHO "Diff: "SUBSTR(zeile,Diff_a,4) END ECHO "Punkte: "SUBSTR(zeile,Pt_a,7) END /*- */ /* WRITELN(out, a||platz||"."||y||x||"("||vplatz||")"||y) */ /* Vortagsplatzierung gibts beim nächsten Mal... */ WRITELN(out, a||xr||platz||"."||y) WRITELN(out, " "||x||team||y||xr||Spiele||y) WRITELN(out, " "||xr||gew||y||xr||une||y||xr||ver||y) WRITELN(out, " "||xr||ToreP||y||x||T||y||xr||ToreM||y) WRITELN(out, " "||xr||QuotDiff||y) IF Pt_a>0 THEN DO WRITELN(out, " "||xr||Pt||z) END ELSE DO WRITELN(out, " "||xr||PunkteP||y||x||T||y||xr||PunkteM||z) END /*END*/ END END /*- */ /*+ "Output Footer" */ SELECT WHEN OUTPUT=1 THEN DO /*+ "HTML" */ WRITELN(out, "
"STRIP(LEFT(titel,name-1))"SpguvToreQuotDiffPtPunkte
") WRITELN(out, "
") WRITELN(out, "") WRITELN(out, "") /*- */ END WHEN OUTPUT=2 THEN DO /*+ "LaTeX" */ WRITELN(out, "\end{tabular}") WRITELN(out, "\end{document}") /*- */ END OTHERWISE EXIT 10 /* should be unreachable, but who knows... */ END /*- */ CLOSE(out) CLOSE(in) ECHO "Ready." EXIT /*- */ /*+ "Unterroutinen"*/ usage: ARG prg SAY "Usage: RX" prg "" ECHO ECHO "Ready." EXIT /*- */